The present invention relates to a field of man-machine interface in engineering tools or the like and specifically to a method for displaying functional objects in a visual program that graphically defines the flow of data between functional objects operating as functional components on the computer screen.
The visual program is a technique for expressing graphically functional objects representative of specific functions and the flow of their data on a computer screen by using a block diagram to code a program from their connection relation. When a configuration tool for control design is taken as an example of an engineering tool using such a visual programming technique, basic function components (hereinafter, referred to as functional blocks) corresponding to input/output (I/O) points in a control system, control points such as PID component or the like are prepared as functional objects. These functional objects are objects including setup items corresponding to the relevant function, setup values given thereto and procedures for implementing the function. A user of such a functional block, i.e., a programmer of a program for control, displays an appropriate functional block in an application edit sheet on the computer screen and defines the relation between the block components while drawing a block diagram with lines called links.
FIG. 1 is a schematic showing the hardware configuration of the above-mentioned visual programming system and the computer screen in a visual program. The visual programming system is constructed on a personal computer (PS) or a work station (WS) comprising a display 11 serving as a display device, the main body 12 composed of a CPU, a storage and such others, and input devices such as a keyboard 13 and a mouse 14. Displayed on the display 11 are, in FIG. 1, an object bar 15 designating the list of individual available functional blocks with icons and an edit window 16 called application edit sheet for the design and development of an application program.
At the time of design and development of an application, a user selects any functional block from the object bar 15 by using the mouse 14 and displays it on the application edit sheet 16. For example, on clicking, dragging and dropping the "AI" 15a in the object bar 15 by using the mouse 14, a functional block 17 having a function of analog input is displayed on the application edit sheet 16. To display a functional block on the application edit sheet 16 in this manner is called "to paste".
Besides, a user can also call up a box called a container 19 to display (paste) it on the application edit sheet 16. Here, the container signifies to hold a subsystem which comprises a plurality of functional blocks and fulfills one function. Such a container is read out from a file (not shown in FIG. 1) onto the application edit sheet 16. The content of this container 19, i.e., a plurality of functional blocks constituent of the subsystem, can be also separately displayed on another application edit sheet (edit window). And, they can be also stored in a file. Thus, by holding a subsystem comprising a plurality of functional blocks in a container for handling, the hierarchical structure of objects to be designed can be expressed. Accordingly, unconscious of the individual functional blocks constituent of this subsystem, a user can handle the container 19 as one functional component. Hereinafter, such containers and functional blocks will be together referred to as functional objects.
After pasting functional objects onto the application edit sheet 16, a user connects the connecting terminals 20 of functional blocks 17 or the ports 21 of a container 19 through lines called links 18 by using the mouse 14 to graphically describe the flow of data between two functional objects. The application designed and developed in such a manner is stored as functional objects pasted onto the application edit sheet 16 and their connection relation. Besides, by following a procedure called implementation, a source code of the application can be created from the functional objects and their connection relation. That is, only by graphically defining the connection relation between functional blocks or containers on the application edit sheet 16, a user can create a source code of a program for control without consciousness of the program included in each functional object.
In a visual program, functional objects pasted onto an application edit sheet are displayed with icons. FIGS. 8A and 8B show one example of icon for a functional object. FIG. 8(a) is one example of icon for a functional block. In a rectangular icon 22, the internal parameters of a functional block are displayed.
The internal parameters displayed here are a logic name 22a representing the attribute of the relevant functional block, a function name 22b representing the function belonging to the relevant functional block and a physical name (tag name) 22c representing the point name for the identification of a specific function block in a specific application. Besides, an icon 22 is provided with a connection terminal 20 for connecting a link representing the connection relation with other functional blocks or the like.
On the other hand, as shown in FIG. 8(b), a container holding a plurality of functional block constituent a subsystem is displayed with a rectangular icon 23. This icon 23 is provided with a port 21 for connecting a link. The functional block group held via this port 21 in the container exchanges data with functional blocks outside the relevant container or with other containers. Hereinafter, icons of these functional objects pasted on an application edit sheet shall be referred to as views.
The general-use graphic representation (referred to as default view) of a functional object such as functional block or container in a conventional visual programming has generally been limited to a simplified one fundamentally expressed with a rectangle. As a result, all functional objects displayed on the display ended in assuming a similar outer appearance and a user in charge of the design and development of an application was compelled to read logic names and function names displayed here to identify individual functional objects pasted to the application edit sheet.
With such a representing method, however, letters representing function or the like tends to become small and difficult in reading when functional blocks or containers are complicated on a display or when a large program is made up, thus leading to a possibility that inappropriate functional objects might be connected by mistake.
Besides, in customers or markets of configuration tools for control design using a visual programming system, various representation shapes of functional objects are required. Especially for some customers or markets, there are cases where a widely recognized view is present. In such cases, it is desirable that a view meeting the request of customers can be provided. However, no conventional general-use representing method based on the default view could not meet such a requirement.